using System;
using System.ComponentModel.DataAnnotations;

namespace Boa.HD.AccesoDatos.Entidades
{
 public partial class HD_HistoriaProblemaAsistido
 {
     public HD_HistoriaProblemaAsistido()
     {
     }
     #region foreign Keys

     public int AsignacionTecnicoProblemaId_FK {get;set;}
     private HD_AsignacionTecnicoProblema AsignacionTecnicoProblemaId_obj ;
     public virtual HD_AsignacionTecnicoProblema AsignacionTecnicoProblema
      {
          get { return AsignacionTecnicoProblemaId_obj; }
          set {
                AsignacionTecnicoProblemaId_obj = value;
                if (AsignacionTecnicoProblemaId_obj != null) AsignacionTecnicoProblemaId_FK = AsignacionTecnicoProblemaId_obj.Id; 
          }
      }

     public int EstadoTrabajoId_FK {get;set;}
     private HD_EstadoTrabajo EstadoTrabajoId_obj ;
     public virtual HD_EstadoTrabajo EstadoTrabajo
      {
          get { return EstadoTrabajoId_obj; }
          set {
                EstadoTrabajoId_obj = value;
                if (EstadoTrabajoId_obj != null) EstadoTrabajoId_FK = EstadoTrabajoId_obj.Id; 
          }
      }

     public int HistorialProblemaPadreId_FK {get;set;}
     private HD_HistoriaProblemaAsistido HistorialProblemaPadreId_obj ;
     public virtual HD_HistoriaProblemaAsistido HistorialProblemaPadre
      {
          get { return HistorialProblemaPadreId_obj; }
          set {
                HistorialProblemaPadreId_obj = value;
                if (HistorialProblemaPadreId_obj != null) HistorialProblemaPadreId_FK = HistorialProblemaPadreId_obj.Id; 
          }
      }

     public int SolicitudAsistenciaId_FK {get;set;}
     private HD_SolicitudAsistencia SolicitudAsistenciaId_obj ;
     public virtual HD_SolicitudAsistencia SolicitudAsistencia
      {
          get { return SolicitudAsistenciaId_obj; }
          set {
                SolicitudAsistenciaId_obj = value;
                if (SolicitudAsistenciaId_obj != null) SolicitudAsistenciaId_FK = SolicitudAsistenciaId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     [DataType(DataType.Date)]
     [Display(Name = "FechaRegistro")]
     public virtual DateTime   FechaRegistro { get; set;}

     [Display(Name = "FechaInicioAsistido")]
     public virtual DateTime?   FechaInicioAsistido { get; set;}

     [Display(Name = "FechaFinAsistido")]
     public virtual DateTime?   FechaFinAsistido { get; set;}

     [StringLength(200, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "DescripcionSolucion")]
     public virtual string   DescripcionSolucion { get; set;}
     public virtual string DescripcionProblema { get; set; }
     public virtual string DescripcionHistoria { get; set; }

     [Display(Name = "Solucionado")]
     public virtual bool   Solucionado { get; set;}

     [Display(Name = "Cerrado")]
     public virtual bool   Cerrado { get; set;}

     [Display(Name = "PrioridadCalculada")]
     public virtual int PrioridadCalculada { get; set; }

     public string Guid { get; set; }
     
     public virtual string MotivoCambioEstado { get; set; }

     

     //no mapeado
     public string NombrePrioridad
     {
         get {

             switch (PrioridadCalculada)
             {
                 case 1: return "Muy Alta";
                 case 2: return "Alta";
                 case 3: return "Media";
                 case 4: return "Baja";
                 default : return "Sin Asignar";             
             }          
         }

     }


     //no mapeado
     public string NombreTecnicoSoporte
     {
         get { return AsignacionTecnicoProblema.Tecnico.Nombre; }     
     }

     //no mapeado
     public string NombreEmpleadoSolicitante
     {
         get { return SolicitudAsistencia.NombreSolicitante; }
     }
     
     


 }
}

